char nextGreatestLetter(char* letters, int lettersSize, char target) {
    if(target >= letters[lettersSize - 1])
        return letters[0];
    int left = 0, right = lettersSize - 1, mid;
    while(left <= right){
        mid = left + (right - left)/2;
        if(letters[mid] <= target){
            left = mid + 1;
        }
        else{
            right = mid - 1;
        }
    }
    return letters[left];
}

/*给你一个字符数组letters，该数组按非递减顺序排序，以及一个字符target。letters里至少有两个不同的字符。

返回letters中大于target的最小的字符。如果不存在这样的字符，则返回letters的第一个字符。*/